package com.ihemou.system.dto;

import java.io.Serializable;

import org.hibernate.validator.constraints.Length;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;

/**
* All rights Reserved, Designed By saperliu
* Copyright:    Copyright(C) 2021-2021
*
* @author saperliu
* @version 1.0.0
* @date 2021年09月02日
* @Description 社交账号的客户端
*/
@ApiModel(value = "SysSocialUserDTO", description = "社交账号的实体对应的VO")
@Data
public class SysSocialUserDTO implements Serializable{

	private static final long serialVersionUID = 1L;

	/**
	 *
	 */
	@ApiModelProperty(value = "(新增不用传值)")
	private String id;

	/**
	 * 第三方系统的唯一ID
	 */
	@ApiModelProperty(value = "第三方系统的唯一ID")
	private String uuid;

	/**
	 * 第三方用户来源 GITHUB、GITEE、QQ
	 */
	@ApiModelProperty(value = "第三方用户来源 GITHUB、GITEE、QQ")
	private String source;
	/**
	 * 应用的编码,区分哪个应用登录
	 */
	@ApiModelProperty(value = "应用的编码,区分哪个应用登录")
	private String appCode;
	/**
	 * 用户的授权令牌
	 */
	@ApiModelProperty(value = "用户的授权令牌")
	private String accessToken;

	/**
	 * 第三方用户的授权令牌的有效期
	 */
	@ApiModelProperty(value = "第三方用户的授权令牌的有效期")
	private Integer expireIn;

	/**
	 * 刷新令牌
	 */
	@ApiModelProperty(value = "刷新令牌")
	private String refreshToken;

	/**
	 * 第三方用户的 open id
	 */
	@ApiModelProperty(value = "第三方用户的 open id")
	private String openId;

	/**
	 * 第三方用户的 ID
	 */
	@ApiModelProperty(value = "第三方用户的 ID")
	private String uid;

	/**
	 * 个别平台的授权信息
	 */
	@ApiModelProperty(value = "个别平台的授权信息")
	private String accessCode;

	/**
	 * 第三方用户的 union id
	 */
	@ApiModelProperty(value = "第三方用户的 union id")
	private String unionId;

	/**
	 * 第三方用户授予的权限
	 */
	@ApiModelProperty(value = "第三方用户授予的权限")
	private String scope;

	/**
	 * 个别平台的授权信息
	 */
	@ApiModelProperty(value = "个别平台的授权信息")
	private String tokenType;

	/**
	 * id token
	 */
	@ApiModelProperty(value = "id token")
	private String idToken;

	/**
	 * 小米平台用户的附带属性
	 */
	@ApiModelProperty(value = "小米平台用户的附带属性")
	private String macAlgorithm;

	/**
	 * 小米平台用户的附带属性
	 */
	@ApiModelProperty(value = "小米平台用户的附带属性")
	private String macKey;

	/**
	 * 用户的授权code
	 */
	@ApiModelProperty(value = "用户的授权code")
	private String code;

	/**
	 * Twitter平台用户的附带属性
	 */
	@ApiModelProperty(value = "Twitter平台用户的附带属性")
	private String oauthToken;

	/**
	 * Twitter平台用户的附带属性
	 */
	@ApiModelProperty(value = "Twitter平台用户的附带属性")
	private String oauthTokenSecret;



}
